﻿using FlowDesigner.INotifyCommadBase;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Media;
using Unity;

namespace FlowDesigner.Models
{
    public class FloWTask: NotifyBase
    {
        /// <summary>
        /// 是否是起始节点
        /// </summary>
        public bool Startnode { get; set; } = false;
        /// <summary>
        /// 节点名称
        /// </summary>
        public string Tag { get; set; }
        /// <summary>
        /// 节点描述
        /// </summary>
        public string Description {  get; set; }
        /// <summary>
        /// 流程节点X坐标
        /// </summary>
        public double NodeSX {  get; set; }
        /// <summary>
        /// 流程节点Y坐标
        /// </summary>
        public double NodeSY { get; set; }
        /// <summary> 
        /// 坐标连接线起点
        /// </summary>
        public double X { get; set; }
        /// <summary>
        /// 坐标连接线起点
        /// </summary>
        public double Y { get; set; }
        /// <summary>
        /// 坐标连接线结束
        /// </summary>
        public double X1 { get; set; }
        /// <summary>
        /// 坐标连接线结束
        /// </summary>
        public double Y1 { get; set; }
        /// <summary>
        /// 流程节点索引
        /// </summary>
        public int flowIndex { get; set; }
        /// <summary>
        /// 流程链接 为分支节点时为 -1
        /// </summary>
        public int NexflowIndex { get; set; } = 0;
        /// <summary>
        /// 驳回节点 0 默认为录入节点
        /// </summary>
        public int Rejectnode { get; set; } = 0; 
        /// <summary>
        /// 是否分支节点
        /// </summary>
        public bool Branch { get; set; }=false;
        /// <summary>
        /// 下一步的链接
        /// </summary>
        public List<int> NexflowIndexBranch { get; set; }=new List<int>();
        /// <summary>
        /// 录入人
        /// </summary>
        public string Entrant { get; set; }
        /// <summary>
        /// 角色
        /// </summary>
        public string Performrole { get; set; }
        /// <summary>
        /// 部门
        /// </summary>
        public string ExecutiveDepartment { get; set; }
        /// <summary>
        /// 是否超时执行
        /// </summary>
        public bool Timeoutexecution { get; set; }
        /// <summary>
        /// 分支条件   表达式
        /// </summary>
        public string Executionconditions { get; set; }
    }
}
